home *** CD-ROM | disk | FTP | other *** search
/ Acorn Risc Technologies StrongARM CD-ROM / Acorn Risc Technologies StrongARM CD-ROM.iso / ftp / documents / appnotes / 031_045 / 043c / Text
Encoding:
Text File  |  1993-08-02  |  21.3 KB  |  512 lines

  1. 4th August 1992
  2. -----------------------------------------------------------------------------
  3. Support Group Application Note 
  4. Number: 043
  5. Issue: 3 
  6. Author: D J Bell
  7. -----------------------------------------------------------------------------
  8.  
  9. Master Series Operating System Application Note (OS 3.20)
  10.  
  11. -----------------------------------------------------------------------------
  12. Applicable Hardware:    BBC Master 128
  13.                         BBC Master Turbo
  14.                         BBC Master 512
  15.                         BBC Master ET
  16.                         BBC Master Compact
  17.  
  18.  
  19. Related Application Notes:
  20.  
  21.  
  22. -----------------------------------------------------------------------------
  23. Copyright (C) Acorn Computers Limited 1992
  24.  
  25. Every effort has been made to ensure that the information in this leaflet is 
  26. true and correct at the time of printing. However, the products described in
  27. this leaflet are subject to continuous development and improvements and
  28. Acorn Computers Limited reserves the right to change its specifications at
  29. any time. Acorn Computers Limited cannot accept liability for any loss or
  30. damage arising from the use of any information or particulars in this
  31. leaflet. ACORN, ECONET and ARCHIMEDES are trademarks of Acorn Computers
  32. Limited.
  33. -----------------------------------------------------------------------------
  34. Support Group
  35. Acorn Computers Limited
  36. Acorn House
  37. Vision Park
  38. Histon
  39. Cambridge       CB4 4AE
  40. -----------------------------------------------------------------------------
  41.  
  42.  
  43. OSBYTE Calls
  44.  
  45. &0 (0)  Enter with X<>0, Returns X=3 for Master 128/Turbo/512/Sc and X=4 for
  46.         Master ET. Entering with X=0, (or *FX0) displays OS version.
  47.  
  48. &14 (20)        Parameters for *FX20 are now ignored and *FX20 resets
  49.         standard exploded font.  Software writers must add parameters as
  50.         required for Model B/B+.
  51.  
  52. &16 (22)        Increment ROM polling semaphore.
  53.         Used to request MOS polling with service call 21 every 10mS (polling
  54.         with semaphore non-zero).
  55.  
  56. &17 (23)        Decrement ROM polling semaphore.
  57.         Used to stop MOS polling with service call 21 every 10mS.
  58.  
  59. &44 (68)        Test Sideways RAM presence.  Report presence of each page of
  60.         Sideways RAM.  Detects state of links for ROM/RAM selection.
  61.  
  62. &45 (69)        Test pseudo/absolute use of Sideways RAM page.
  63.  
  64. &6B (107)       Switch Internal/External 1MHz Bus.
  65.         *FX107,0 - select external bus (default)
  66.         *FX107,1 - select internal bus.
  67.  
  68. &6C (108)       Switch Main/Shadow memory into main map.
  69.         *FX108,0 - switch shadow memory into main map area, &3000-&7FFF
  70.                                                         (immediate).
  71.         *FX108,1 - switch main memory into main map area (immediate).
  72.  
  73. &6D (109)       Make temporary filing system permanent.
  74.  
  75. &70 (112)       Write to Main/Shadow memory:
  76.         *FX112,0 - write to memory specified by mode change.
  77.         *FX112,1 - write to main memory (immediate).
  78.         *FX112,2 - write to shadow memory (immediate).
  79.  
  80. &71 (113)       Display Main/Shadow memory:
  81.         *FX113,0 - display memory specified by mode change.
  82.         *FX113,1 - display main memory (immediate).
  83.         *FX113,2 - display shadow memory (immediate).
  84.  
  85. &72 (114)       Write to/Display Main/Shadow memory (*SHADOW)
  86.         *FX114,0 - use shadow memory at next mode change.
  87.         *FX114,n - use mode defined at next mode change. (where n is 1-255).
  88.  
  89. &81 (129)       Now extended to return new OS version:
  90.         Enter with X<>0 & Y=255
  91.         Returns with X=3 for OS 3.00
  92.  
  93.         Enter with X=0
  94.         Returns X=253 for Master Series.
  95.  
  96. &84 (132)       Read top of user RAM for Master Series.
  97.  
  98. &85 (133)       Read top of user RAM for a given mode (was display RAM start
  99.         for a given mode).
  100.  
  101. &A1 (161)       Read CMOS RAM
  102.         Enter with A=0, X=n, where n is the RAM location number (30=49).
  103.         Returns with result in Y.
  104.         Use *STATUS for locations 0-29.
  105.  
  106. &A2 (162)       Write CMOS RAM
  107.         Enter with A=1, X=n, where n is the RAM location number (30-49). 
  108.         *FX162 can be used. Use *CONFIGURE for locations 1-29.  Location 0
  109.         is protected.
  110.  
  111. &A4 (164)       Check processor type.
  112.  
  113. &A5 (165)       Read output cursor position.
  114.  
  115. &B3 (179)       Read/Write ROM polling semaphore.
  116.         (was Read/Write OSHWM).
  117.         A=179, X=n, Y=0 reads semaphore into X and sets state to n.
  118.         Setting state directly with this call will interfere with OSBYTE 22
  119.         & 23 use. A=179, X=0, Y=255 reads semaphore into X.
  120.  
  121. &B6 (182)       Read NOIGNORE state (was Read font explosion).
  122.  
  123. &EE (238)       Change numeric pad base:
  124.         "0" key is based at 48, *FX238, <base> with base from 0-255 will
  125.         alter key characters.
  126.  
  127. &FA (250)       Read memory area used for writing to.
  128.  
  129. &FB (251)       Read memory area used for reading from.
  130.  
  131. &FE (254)       Controls effect of SHIFT on numeric pad.
  132.         *FX254,0 - makes SHIFT have effect.
  133.         *FX254,<1-255> - deletes effect of SHIFT.
  134.         (NOTE:  This call returned RAM size in Model B/B+).
  135.  
  136.  
  137. OSWORD Calls
  138.  
  139. &E (14)         Read CMOS clock.
  140.  
  141. &F (15)         Write to CMOS clock.
  142.  
  143. &42 (66)        Block transfer to/from sideways RAM.
  144.  
  145. &43 (67)        Load or Save to/from sideways RAM.
  146.  
  147.  
  148.  
  149.  
  150. New Service calls to Sideways ROMs
  151.  
  152. &15 (21)        Polling interrupt.  Made 100 times per second if OSBYTE 22
  153.         issued.
  154.  
  155. &18 (24)        Interactive HELP.  Made by MOS when it executes a *HELP
  156.         command, after service call 9. MOS offer CLI text following a *HELP
  157.         to a ROM participating in the interactive help system.
  158.  
  159. &21 (33)        Offer Static Workspace in Hidden RAM.  Call is made on a
  160.         Reset.  Workspace starts at &C000 in Hidden RAM and can only be used
  161.         by a Filing System, and only one at a time. Workspace has an upper
  162.         limit of &DBFF.  Call analogous to &01, but uses hidden RAM.
  163.  
  164. &22 (34)        Offer Dynamic Workspace in Hidden RAM.  ROMs should ideally
  165.         ignore Call &02, which takes workspace in main memory.
  166.  
  167. &23 (35)        This is top of Static Workspace.  Tells ROMs where top of
  168. static workspace in hidden RAM is.
  169.  
  170. &24 (36)        Dynamic Workspace requirements.  ROMs should indicate how much memory they will
  171.         each claim through Call 34.  Y contains current bottom of dynamic
  172.         allocation and should be decremented by required number of pages.
  173.  
  174. &25 (37)        Inform MOS of Filing System name and info.  (See Reference
  175.         Manual 1 for detailed information on this call).
  176.  
  177. &26 (38)        Close all files.  Issued at a Reset.  Filing systems should
  178.         select themselves, close open files and then de-select.  Used by
  179.         *SHUT command.
  180.  
  181. &27 (39)        Reset has occurred.  Call made after hard reset.  Mainly for
  182.         Econet Filing System so that it can claim NMI's.  This call is now
  183.         required since the MOS no longer offers workspace on a soft BREAK. 
  184.         A Sideways ROM should therefore re-initialise itself.
  185.  
  186. &28 (40)        Unknown CONFIGURE option. Used to extend range of commands. 
  187.         A Sideways ROM having a claim on CMOS RAM may use this command to
  188.         update its configuration information.
  189.  
  190. &29 (41)        Unknown STATUS option.  Used to provide extra commands. See
  191.         &28.
  192.  
  193. &2A (42)        ROM based language starting up.  This enables languages,
  194.         such as the TERMINAL, to remove their interception of buffering
  195.         functions etc. prior to the next language taking control.
  196.  
  197.  
  198. New VDU commands
  199.  
  200. VDU 18,m,c - Define graphics colour.
  201.         m = 0 to 4 same as as 1.2 MOS.
  202.         m = 5  Leave screen colour unchanged.
  203.         For each of n=1,2,3,4 (ecf pattern numbers):
  204.         m = 16n  Overwrite the colour on the screen.
  205.         m = 16n+1  OR the colour of the screen.
  206.         m = 16+2  AND the colour of the screen
  207.         m = 16+3  EOR the colour of the screen.
  208.         m = 16+4  Invert the colour of the screen.
  209.         m = 16+5  Leave screen colour unchanged.
  210.  
  211. VDU 22,m - Select screen mode.
  212.         m = 0 to 8  As 1.2 MOS.
  213.         m = 128 to 135  covers shadow screen modes.
  214.  
  215. VDU 23,0,r,v,0,0,0,0,0,0 - Control 6845 CRTC directly.
  216.         As 1.2 MOS (but with additions of n=2 & n=3) ie:
  217.         n = 0  Stops cursor appearing.
  218.         n = 1  Cursor appears on screen (default case).
  219.         n = 2  Cursor is steady.
  220.         n = 3  Cursor flashes at approx 1.5 times/sec (Default case).  
  221.         Flash rate is doubled in cursor edit mode.
  222.  
  223. VDU 23,2-5,a,b,c,d,e,f,g,h - Set ecf pattern.
  224.         ecf patterns can be set to pixel groups of 8*8, 4*8 or 2*8 if mode
  225.         has 2, 4 or 16 colours respectively.  VDU 23,2 thru VDU 23,5 sets
  226.         patterns 1 thru 4 respectively.
  227.         Integers a thru h define pattern rows from top to bottom.  If the
  228.         integer is derived from stuvwxyz in binary then:
  229.         For 2 colour mode, logical colours from left to right are: s, t, u,
  230.         v, w, x, y, z
  231.         For 4 colour mode, logical colours from left to right are: sw, tx,
  232.         uy, vz
  233.         For 16 colour mode, logical colours from left to right are: suwy,
  234.         tvxz
  235.  
  236. VDU 23,6,n,0,0,0,0,0,0,0 - Set dotted lines pattern.
  237.         n = &FF  Solid line as in 1.2 MOS.
  238.         n = &AA  Dotted line as in 1.2 MOS (Default-Reset every mode
  239.         change).
  240.         n = &EE  Dashed line (dot-dot-dot-space repeated).
  241.         n = &E4  Dash-dotted line (dot-dot-dot-space-dot-space-space
  242.         repeated).
  243.  
  244. VDU 23,7,m,d,z,0,0,0,0,0 - Scroll window directly.
  245.         Allows text window or arbitrary rectangle to be scrolled without
  246. cursor movement:
  247.         m = 0  Scroll text window.
  248.         m = 1  Scroll entire window.
  249.         d =  0  Scroll right.   d = 1  Scroll left.
  250.         d = 2  Scroll down.     d = 3  Scroll up.
  251.         d = 4  Scroll in positive X direction (defined by VDU 23,  16, etc).
  252.         d = 5  Scroll in negative X direction ("                       "  ).
  253.         d = 6  Scroll in positive Y direction ("                       "  ).
  254.         d = 7  Scroll in negative Y direction ("                        " ).
  255.         z = 0  Scroll by 1 character cell.
  256.         z = 1  Scroll by 1 character cell vertically, 1 byte horizontally.
  257.                  (ie 8 pixels in 2 colour modes, 4 in 4 colour modes, 2 in
  258.                         16 colour modes, and 1 character in mode 7).  This
  259.                         is the minimum distance that can be scrolled and
  260.                         still be able to do a hardware scroll if the full
  261.                         screen is scrolled.
  262.  
  263. VDU 23,8,t1,t2,x1,y1,x2,y2,0,0 - Clear block of text window.
  264.         This causes a block of the text window to be cleared to the text
  265. background colour.  The parameters indicate where the two ends of the block
  266. (ie string start and string finish) are, with t1, x1 and y1 relating to the
  267. start of the block and t2, x2 and y2 to the end of the block. In each case,
  268. ti indicates a base position, to which (xi,yi) is added to get the true
  269. position. The character position at the start of the block is generally
  270. included in the clear, that at the end is not.
  271.         ti = 0  Base position is "top left of window".
  272.         ti = 1  Base position is "top of cursor column".
  273.         ti = 2  Base position is "off top right of window".
  274.         ti = 4  Base position is "left end of cursor line".
  275.         ti = 5  Base position is cursor position.
  276.         ti = 6  Base position is "off right end of cursor line".
  277.         ti = 8  Base position is "bottom left of window".
  278.         ti = 9  Base position is "bottom of cursor column".
  279.         ti = 10 Base position is "off bottom right of window".
  280.  
  281. Other values of ti have undefined effects.  (The quotes are to indicate that
  282. all of these positions are calculated taking the cursor movement controlsset
  283. by VDU 23,16 into account - eg after VDU 23,16,2,0,0,0,0,0,0,0 "left" above
  284. right etc.).
  285.  
  286. The results of this function are undefined if the absolute values of the
  287. coordinates of the two ends go outside the range -128 to 127.  This is best
  288. avoided by not using value of xi and yi outside the range -128 to 47. 
  289. Should the end point of the block lie before the start point, no clearing
  290. will be done.
  291.  
  292. VDU 23,9,n,0,0,0,0,0,0,0 - Set 1st flash time.
  293.         Same spec as 1.2 MOS.
  294.  
  295. VDU 23,10,n,0,0,0,0,0,0,0 - Set 2nd flash time.
  296.         Same spec as 1.2 MOS.
  297.  
  298. VDU 23,11,0,0,0,0,0,0,0,0 - Set default ecf patterns.
  299.  
  300.         Mode    Pattern Colour          VDU 23,2-5 type definition
  301.         0       1       Dark Grey       &CC,&00,&CC,&00,&CC,&00,&CC,&00
  302.                 2       Grey            &CC,&33,&CC,&33,&CC,&33,&CC,&33
  303.                 3       Light Grey      &FF,&33,&FF,&33,&FF,&33,&FF,&33
  304.                 4       Hatching        &03,&0C,&30,&C0,&03,&0C,&30,&C0
  305.         1,5     1       Red-Orange      &A5,&0F,&A5,&0F,&A5,&0F,&A5,&0F
  306.                 2       Orange          &A5,&5A,&A5,&5A,&A5,&5A,&A5,&5A
  307.                 3       Yellow-Orange   &F0,&5A,&F0,&5A,&F0,&5A,&F0,&5A
  308.                 4       Cream           &5F,&5A,&5F,&5A,&5F,&5A,&5F,&5A
  309.         2       1       Orange          &0B,&07,&0B,&07,&0B,&07,&0B,&07
  310.                 2       Pink            &23,&13,&23,&13,&23,&13,&23,&13
  311.                 3       Yellow-Green    &0E,&0D,&0E,&0D,&0E,&0D,&0E,&0D
  312.                 4       Cream           &1F,&2F,&1F,&2F,&1F,&2F,&1F,&2F
  313.         4       1       Dark Grey       &AA,&00,&AA,&00,&AA,&00,&AA,&00
  314.                 2       Grey            &AA,&55,&AA,&55,&AA,&55,&AA,&55
  315.                 3       Light Grey      &FF,&55,&FF,&55,&FF,&55,&FF,&55
  316.                 4       Hatching        &11,&22,&44,&88,&11,&22,&44,&88
  317.  
  318.         Mode 0 patterns are different from 4 to avoid TV effects.
  319.  
  320.  
  321.  
  322. VDU 23,12-15,a,b,c,d,e,f,g,h - Set simple ecf pattern.
  323.         This sets a simple 2*4 (or double for mode 0) pattern.  Patterns1
  324. thru 4 are set by VDU 23,15 respectively.  The logical colours from left to
  325. right are:
  326.                 Top row - a,b
  327.                 next row - c,d
  328.                 next row - e,f
  329.                 last row - g,h
  330.         Mode 0 has double pixels to avoid TV patterning.
  331.  
  332. VDU 23,16,x,y,0,0,0,0,0,0 - Cursor movement control.
  333.         Allows control of cursor after a character has been printed.  This
  334. control sequence replaces the current flag byte as follows:
  335.                 (Current byte) AND X) EOR Y
  336.         If the byte of flags is abcdefgh in binary then:
  337.         a = 0  Normal
  338.         a = 1  Undefined
  339.         b = 0  In VDU 5 mode, cursor movement outside of a window cause
  340. special actions ie, carriage returns generated.
  341.         b = 1  In VDU 5 mode, cursor movement outside of a window does not
  342. cause special actions
  343.         c = 0  Cursor moves in positive direction.  d & h define action if
  344. cursor move outside of window.
  345.         c = 1  Cursor does not move.
  346.         d = 0  If Y movement would go outside of window, window is scrolled
  347. in VDU 4 mode.  In VDU 5 mode it moves to opposite edge of the window.
  348.         d = 1  As above but cursor always moves to opposite edge.
  349.         efg = 000  Text X direction is right, Y direction is down.
  350.         efg = 001  Text X direction is left,  Y direction is down.
  351.         efg = 010  Text X direction is right, Y direction is right.
  352.         efg = 011  Text X direction is left, Y direction is up.
  353.         efg = 100  Text X direction is down, Y direction is right.
  354.         efg = 101  Text X direction is down, Y direction is left.
  355.         efg = 110  Text X direction is up, Y direction is right.
  356.         efg = 111  Text X direction is up, Y direction is left.
  357.         h = 0  If movement would go outside of window, cursor moves to
  358. negative edge and one step in positive Y direction.  If this goes outside of
  359. window, d defines behaviour.  This is '80' column mode.
  360.         h = 1  If movement would go outside of window, a 'pending cursor
  361. movement' is generated. It is released before next character is printed (or
  362. another control code).  This is '81' column mode.
  363.  
  364. VDU 23,17-27a,b,c,d,e,f,g,h - Unassigned (but reserved).
  365.         VDU 23,27,a,b,c,d,e,f,g,h - Acornsoft sprites.
  366.  
  367. VDU 23,28-31,a,b,c,d,e,f,g,h - Unassigned (for user application progs).
  368.         Reserved for use by application programs.  Results in a call to the
  369. unknown Plot codes vector &226,&227.  Call can be recognise as follows:
  370.         *  C = 1 on entry to the vector.
  371.         *  A contains the VDU 23 code (ie the first number following 23).
  372.             All of the sequence except the 23 can be found in ascending
  373. order starting at the location:
  374.             (Start of VDU variables) + &1B, ie at &31B in MOS version 1.2.
  375.  
  376. VDU 23,32-255,a,b,c,d,e,f,g,h - Define character.
  377.         Spec as 1.2 MOS.
  378.  
  379. VDU 24,11,1h,b1,bh,r1,rh,t1,th - Set graphics window.
  380.         Spec as 1.2 MOS.
  381.  
  382. VDU 25,p,xl,yl,yh - Plot
  383.  
  384. VDU 25,0-63 - Plot line.
  385.         Spec as 1.2 MOS but some improvements.
  386.  
  387. VDU 25,64-71 - Plot point.
  388.         Spec as 1.2 MOS.
  389.  
  390. VDU 25,72-29 - Horizontal line fill.
  391.         Spec as 1.2 MOS.
  392.  
  393. VDU 25,80-87 - Plot triangle.
  394.         Spec as 1.2 MOS.
  395.  
  396. VDU 25,88-95 - Horizontal line fill.
  397.         Spec as 1.2 MOS.
  398.  
  399. VDU 25,96-103 - Plot rectangle.
  400.         Plots a filled axis aligned rectangle with opposite corners at the
  401. current graphics cursor and the new point.
  402.  
  403. VDU 25,104-11 - Horizontal line fill.
  404.         Similar to VDU 25,72-79....., with the differences that the word
  405. "non-background" should be replaced by "foreground".
  406.  
  407. VDU 25,112-119 - Plot parallelogram.
  408.         Plots a filled parallelogram with vertices at the old graphics
  409. cursor, the current graphics cursor, the new point, and at (new
  410. point)-(current graphics cursor)+(old graphics cursor) in cyclic order.  The
  411. 4th point is calculated in terms of internal pixel coordinates to ensure
  412. that the sides are parallel.
  413.  
  414. VDU 25,120-127 - Horizontal line fill.
  415.         Similar to VDU 25,88-95...., with the difference that the work
  416. "background" should be replaced with "non-foreground".
  417.  
  418. VDU 25,128-143 - Flood fill.
  419.         This flood fills the screen starting from the new point and
  420. continuing until non-background (plot codes 128-135) or foreground (plot
  421. codes 136-143) pixels are found.  These sequences make use of soft-key 11-15
  422. buffers (they will reset soft-keys to empty strings and will fail to do
  423. anything if these soft-keys are being expanded).  Sequences may fail if:
  424.         * The area to be filled is too complicated.
  425.         * The colour being used to fill can itself be filled.
  426.         * An escape occurs.
  427.  
  428.  
  429. VDU 25,144-159 - Plot circle.
  430.         Plots a circle outline (plot codes 144-151) or a filled circle (plot
  431. codes 152-159) with its  centre at the current graphics cursor and the new
  432. point on its boundary.
  433.  
  434. VDU 25,160-183 - Plot circular arc.
  435.         Plots a circular arc (plot codes 160-167) the filled chord segment
  436. between a circular arc and the chord joining its endpoints (plot codes
  437. 168-175) or the filled pie sector between a circular arc and the two radii
  438. joining its endpoints to the centre of the circle (plot codes 176-183).  In
  439. all three cases, the centre of the circle is at the old graphics cursor, the
  440. first endpoints of the arc is at the current graphics cursor, the second
  441. endpoint of the arc is on the circle an in the same direction from the
  442. centre of the circle as the new point is, and the circular arc is taken to
  443. be the arc going clockwise from the first endpoint to the second one.
  444.  
  445. VDU 25,184-191 - Move/copy rectangle.
  446.         Causes the axis aligned rectangle with opposite corners at the old
  447. and current graphics  cursors to be moved (plot codes 185,189) or copies
  448. (plot codes 186,187,190,191) so that its new bottom left hand point is at
  449. the new point (plot codes 184 and 188 simply move the graphics cursor to the
  450. new point, like other plot codes which are 0 mod 4). Any part of the source
  451. rectangle which lies outside the current graphics window is assumed to
  452. contain the current graphics background colour for the purposes of the copy
  453. or move.  The difference between copying and moving is that moving set any
  454. part of the source rectangle which lies outside the destination rectangle to
  455. background, whereas copying leaves such parts of the source rectangle
  456. unchanged.
  457.  
  458. VDU 25,192-207 - Plot ellipse.
  459.         Plots an ellipse outline (plot codes 192-199) or a filled ellipse
  460. (plot codes 200-207).  The centre of the ellipse is at the old graphics
  461. cursor.
  462.  
  463. VDU 25,208-239 - Unassigned.
  464.         Not reserved for application programs.  Following assigned:
  465.         VDU 25,232-239,x1,xh,y1,yh - Acornsoft sprites.
  466.  
  467. VDU 25,240-255 - User program calls.
  468.         Reserved for application programs.  Will result in a call to the
  469. unknown plot codes vector (&226,&227).  Call recognised by:
  470.         * C = 0 on entry
  471.         * Computer is in a graphics mode (can test location (start of VDU
  472.           variables) + &61 ie, &361 on 1.2 MOS.  this contains (number of
  473.           pixels/byte) - 1 (ie 1,3 or 7) in graphics modes, and 0 in
  474.           non-graphics modes.
  475.         * A contains the VDU 25 code (ie the first number following the 25). 
  476.           The coordinates can be found in ascending order starting at the
  477.           location (start of VDU variables) + &1F ie &31F on MOS 1.2.
  478.  
  479. VDU 26 - Restore default windows.
  480.         Spec as 1.2 MOS.
  481.  
  482. VDU 27 - Null.
  483.         Spec as 1.2 MOS.
  484.  
  485. VDU 28,1x,by,rx,ty - Define text window.
  486.         Spec as 1.2 MOS.
  487. VDU 29,x1,xh,y1,yh - Define graphics origin.
  488.         Spec as 1.2 MOS.
  489.  
  490. VDU 30 - Home cursor.
  491.         Spec as 1.2 MOS.
  492.  
  493. VDU 31,x,y - Tab cursor.
  494.         Spec as 1.2 MOS.
  495.  
  496. VDU 32-126 - Print a character.
  497.         Spec as 1.2 MOS.
  498.  
  499. VDU 127 - Backspace and delete.
  500.         Spec as 1.2 MOS.
  501.  
  502. VDU 128-255 - Print a character.
  503.         Prints characters from the extended character set in a similar
  504. manner to VDU 32-126.
  505.  
  506.  
  507. A full description of the Operating System can be found in the Master Series
  508. Reference Manual part 1.  The Master Series Welcome Guide contains a summary
  509. of the features.  
  510.  
  511.  
  512.